/*
 -------------------------------------------------------------------------------
 | osgEphemeris - Copyright (C) 2007  Don Burns                                |
 |                                                                             |
 | This library is free software; you can redistribute it and/or modify        |
 | it under the terms of the GNU Lesser General Public License as published    |
 | by the Free Software Foundation; either version 3 of the License, or        |
 | (at your option) any later version.                                         |
 |                                                                             |
 | This library is distributed in the hope that it will be useful, but         |
 | WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY  |
 | or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public     |
 | License for more details.                                                   |
 |                                                                             |
 | You should have received a copy of the GNU Lesser General Public License    |
 | along with this software; if not, write to the Free Software Foundation,    |
 | Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.               |
 |                                                                             |
 -------------------------------------------------------------------------------
 */

#ifndef OSG_EPHEMERIS_PLANETS_DEF
#define OSG_EPHEMERIS_PLANETS_DEF

#include <osg/Group>
#include <osgEphemeris/Export.h>
#include <osgEphemeris/EphemerisData.h>

namespace osgEphemeris {

/** \class Planets
    \brief A container class which updates Planet position in the sky - used internally.
    */

class OSGEPHEMERIS_EXPORT Planets : public osg::Group
{
    public:
        Planets();

        void update( osgEphemeris::EphemerisData * );

    protected:
        osg::ref_ptr<osg::MatrixTransform> _mercuryTx;
        osg::ref_ptr<osg::MatrixTransform> _venusTx;
        osg::ref_ptr<osg::MatrixTransform> _marsTx;
        osg::ref_ptr<osg::MatrixTransform> _jupiterTx;
        osg::ref_ptr<osg::MatrixTransform> _saturnTx;
        osg::ref_ptr<osg::MatrixTransform> _uranusTx;
        osg::ref_ptr<osg::MatrixTransform> _neptuneTx;
};

}

#endif
